#ifndef FACTORY_H__
#define FACTORY_H__

#include "Operation.h"


namespace npFactoryMethod
{
    class Factory
    {
        public: Factory();
        public: virtual ~Factory();
        public: Factory(const Factory& cpy);
        public: Factory& operator=(const Factory& asn);
        public: virtual Factory* clone() const;

        public: virtual Operation* createOperation() const = 0;
    };
} // namespace npFactoryMethod


#endif //FACTORY_H__